package com.arvin.mapper;

import com.arvin.pojo.Exempt;
import com.arvin.pojo.ExemptInfo;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import java.time.LocalDate;
import java.util.List;

@Mapper
public interface ExemptMapper {

    /**
     * 保存免试信息
     * @param exempt1
     */
    void saveExempt(Exempt exempt1);

    /**
     * 通过id获取免试信息
     * @param exemId
     * @return
     */
    @Select("select * from t_exempt where exem_id = #{exemId} ")
    Exempt findByExempId(Integer exemId);

    /**
     * 获取免试信息
     * @param exemDate
     * @param exemState
     * @param studentId
     * @param stuName
     * @return
     */
    List<ExemptInfo> getExemInfo(LocalDate exemDate, String exemState, String studentId, String stuName,String className,Integer exemScore);

    /**
     * 修改免试信息
     * @param exempt
     */
    void updateExemInfo(Exempt exempt);

    /**
     * 删除免试信息
     * @param exemId
     */
    @Delete("delete from t_exempt where exem_id = #{exemId} ")
    void deleteExem(Integer exemId);

    /**
     * 设置免试通过后的面试分数
     * @param exempt
     */
    @Update("update t_exempt set exem_score = #{exemScore} where exem_id = #{exemId}")
    void setExemScore(Exempt exempt);

    /**
     * 学生免试中面试批量合格和不合格
     * @param ids
     * @param exemState
     */
    void updateStateByIds(List<Integer> ids, String exemState);
}
